package cn.com.zero.manager.auth.po;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.com.zero.base.po.BasePO;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

/**
 * @author Huangyong
 * @version 1.0.0
 * @Description 管理员
 * @createTime 2023-2-28 10:06
 */
@ApiModel(value = "ManagerPO",description = "管理员PO")
public class ManagerPO extends BasePO {

    @ApiModelProperty(value = "管理员代码")
    @Excel(name = "管理员代码",width = 20,orderNum = "1")
    private String userId;

    @ApiModelProperty(value = "管理员名称")
    @Excel(name = "管理员名称",width = 20,orderNum = "2")
    private String userName;

    @ApiModelProperty(value = "手机号码")
    private String mobile;

    @ApiModelProperty(value = "展示的手机号码")
    @Excel(name = "手机号码",width = 20,orderNum = "3")
    private String showMobile;

    @ApiModelProperty(value = "密码")
    private String password;

    @ApiModelProperty(value = "状态（0正常1冻结（禁用）2注销）")
    private Integer status;

    @JsonIgnore
    @Excel(name = "状态",width = 20,orderNum = "4")
    private String statusName;

    @ApiModelProperty(value = "是否默认密码，0 否，1 是")
    private Integer isDefaultPassword;

    @ApiModelProperty(value = "上次登录时间")
    @Excel(name = "上次登录时间",width = 30,orderNum = "5")
    private Date lastLoginTime;

    @ApiModelProperty(value = "上次登录IP")
    @Excel(name = "上次登录IP",width = 30,orderNum = "6")
    private String lastLoginIP;

    @ApiModelProperty(value = "管理员类型 0 超级管理员  1 普通管理 ")
    private Integer type;

    @JsonIgnore
    @Excel(name = "管理员类型",width = 20,orderNum = "7")
    private String typeName;

    @ApiModelProperty(value = "备注")
    @Excel(name = "备注",width = 30,orderNum = "8")
    private String note;

    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, format = "yyyy-MM-dd HH:mm:ss", orderNum = "9")
    private Date createTime;

    @ApiModelProperty(value = "修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "修改时间", width = 30, format = "yyyy-MM-dd HH:mm:ss", orderNum = "10")
    private Date modifyTime;

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getShowMobile() {
        return showMobile;
    }

    public void setShowMobile(String showMobile) {
        this.showMobile = showMobile;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getStatusName() {
        return statusName;
    }

    public void setStatusName(String statusName) {
        this.statusName = statusName;
    }

    public Integer getIsDefaultPassword() {
        return isDefaultPassword;
    }

    public void setIsDefaultPassword(Integer isDefaultPassword) {
        this.isDefaultPassword = isDefaultPassword;
    }

    public Date getLastLoginTime() {
        return lastLoginTime;
    }

    public void setLastLoginTime(Date lastLoginTime) {
        this.lastLoginTime = lastLoginTime;
    }

    public String getLastLoginIP() {
        return lastLoginIP;
    }

    public void setLastLoginIP(String lastLoginIP) {
        this.lastLoginIP = lastLoginIP;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getTypeName() {
        return typeName;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getModifyTime() {
        return modifyTime;
    }

    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    public String getNote() {
        return note;
    }

    public void setNote(String note) {
        this.note = note;
    }
}
